import request from '@/utils/request'

/** 用户兼职部门 start */

// 根据用户id获取当前用户的兼职部门
export function listUserPartDeptByUserId(data) {
  return request({
    url: '/sys/sysUserPartDept/list',
    method: 'post',
    params: data
  })
}

// 根据兼职部门id查询菜单树
export function listUserPartDept(partId) {
  const data = {
    'partId': partId
  }
  return request({
    url: '/sys/sysUserPartDept/list',
    method: 'post',
    params: data
  })
}

// 新增兼职部门
export function addUserPartDept(data) {
  return request({
    url: '/sys/sysUserPartDept/add',
    method: 'post',
    params: data
  })
}

// 修改兼职部门
export function updateUserPartDept(data) {
  return request({
    url: '/sys/sysUserPartDept/edit',
    method: 'post',
    params: data
  })
}

// 删除兼职部门
export function delUserPartDept(ids) {
  const data = {
    'ids': ids
  }
  return request({
    url: '/sys/sysUserPartDept/remove',
    method: 'post',
    params: data
  })
}

// 根据兼职部门id查询菜单树
export function selectMenuTreeByPartId(PartId) {
  return request({
    url: '/sys/sysUserPartDept/getMenuPermissionByPartId/' + PartId,
    method: 'get'
  })
}

// 根据用户兼职部门id查找选中了那些菜单和默认数据权限
export function getSelectedIdAndDefaultPermissionsByPartId(partId) {
  return request({
    url: '/sys/sysUserPartDept/getSelectedIdAndDefaultPermissionsByPartId/' + partId,
    method: 'get'
  })
}

// 根据用户兼职部门id查找默认数据权限
export function getDefaultPermissionsByPartId(partId) {
  return request({
    url: '/sys/sysUserPartDept/getDefaultPermissionsByPartId/' + partId,
    method: 'get'
  })
}

// 保存兼职部门id选择的菜单和数据权限
export function addOrupdateUserPartDeptMenuAndDataScope(data) {
  return request({
    url: '/sys/sysUserPartDept/partDeptMenuAndDataScope',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}

// 岗位名称查重校验
export function checkPartDeptIdUnique(partId, userId, partDeptId) {
  const data = {
    'partId': partId,
    'userId': userId,
    'partDeptId': partDeptId
  }
  return request({
    url: '/sys/sysUserPartDept/checkUserDeptPartNameUnique',
    method: 'post',
    params: data
  })
}
